home *** CD-ROM | disk | FTP | other *** search
/ Network Supervisor's Toolkit / Network Supervisor's Toolkit.iso / tools / lu62 / attch.c < prev    next >
C/C++ Source or Header  |  1996-07-10  |  2KB  |  69 lines

  1. /********************************************************************
  2.       FUNCTION: This procedure checks fields of the supplied
  3.                 ATTACH_HEADER for validity. (PS is responsible for
  4.                 checking the reminding fields.)
  5.  
  6.       INPUT:    ATTACH_HEADER
  7.  
  8.       OUTPUT:   X'00000000', if here is no error; or sense data will be return by
  9.                 ATTACH_LENGTH_CHECK; or data will be return by
  10.                 ATTACH_SECURITY_CHECK;
  11.                 or one of the following sense data will be return:
  12.  
  13.                    X'080F6051'    Security Not Valid
  14.                    X'084B6031'    TP Not Available--Retry Allowed
  15.                    X'084C0000'    TP Not Available--No Retry
  16.                    X'1008600B'    Unrecognized FMH Command
  17.                    X'10086021'    TP Name Not Recognized
  18.                    X'10086040'    Invalid Attach Parameter
  19.                    X'10086041'    Sync  Level Not Supported
  20.  
  21.  
  22.   CopyRight 1995. Nicholas Poljakov all rights reserved.
  23.  
  24. ***********************************************************************/
  25.  
  26. #include <state1.h>
  27. #include <fmh5.h>
  28. #include <string.h>
  29. #include <memory.h>
  30.  
  31. unsigned long attltck(void *);
  32.  
  33. unsigned long attacheck(p)
  34. char *p;
  35. {
  36.  unsigned long rc;
  37.  struct FMH5 *a_ptr;
  38.  unsigned char mask[2];
  39.  
  40. #if OS_TYPE == 1
  41. /*********  Trace facility **********/
  42. unsigned int rtype;   /* type of record */
  43. unsigned int pnum;    /* point number */
  44. char pname[8];        /* name of module */
  45. char *drec;       /* record for dump */
  46. int  lenr;            /* record length */
  47.  
  48. rtype = INPROC;
  49. strcpy(pname, "attchk");
  50. pnum = 1;
  51. drec = p;
  52. lenr = 200;
  53. gtf(rtype, pname, pnum, drec, lenr);
  54. /***********************************/
  55. #endif
  56.  
  57.    a_ptr = (struct FMH5 *)p;
  58.    mask[0] = 2;
  59.    mask[1] = 0xff;
  60.    if (memcmp(a_ptr -> type, mask, 2) == 0) {
  61.         rc = attltck(a_ptr);
  62.    }
  63.    else
  64.         rc = 0x1008600b;
  65.  
  66.    return(rc);
  67.  
  68.  }
  69.